package com.ruoyi.shop.trade.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单项明细对象 shop_order_item
 * 
 * @author xuxiang
 * @date 2023-07-31
 */
public class ShopOrderItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long itemId;

    /** 会员ID */
    @Excel(name = "会员ID")
    private Long memberId;

    /** 订单ID */
    @Excel(name = "订单ID")
    private Long orderId;

    /** 门店ID */
    @Excel(name = "门店ID")
    private Long storeId;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long goodsId;
    
    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 购买单价 */
    @Excel(name = "购买单价")
    private BigDecimal goodsPrice;

    /** 商品类型 [1=普通商品, 2=秒杀商品] */
    @Excel(name = "商品类型 [1=普通商品, 2=秒杀商品]")
    private Integer goodsType;
    
    @Excel(name = "商品类型名称")
    private String goodsTypeName;

    /** 购买数量 */
    @Excel(name = "购买商品数量")
    private Integer goodsCount;

    /** 商品总额 */
    @Excel(name = "商品总金额")
    private BigDecimal goodsAmount;

    /** skuId */
    @Excel(name = "skuId")
    private Long skuId;

    /** sku值名 */
    @Excel(name = "sku值名")
    private String skuName;

    /** sku货号(条形码) */
    @Excel(name = "sku货号(条形码)")
    private String skuNo;

    /** 商品主图 */
    @Excel(name = "商品主图")
    private String image;

    /** 商品原价 */
    @Excel(name = "商品原价")
    private BigDecimal marketPrice;

    /** 成本单价 */
    @Excel(name = "成本单价")
    private BigDecimal costPrice;

    /** 成本金额 */
    @Excel(name = "成本金额")
    private BigDecimal costAmount;

    /** 运费金额 */
    @Excel(name = "运费金额")
    private BigDecimal deliveryAmount;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private BigDecimal couponAmount;

    /** 订单项总额 */
    @Excel(name = "订单项总额")
    private BigDecimal totalAmount;

    /** 实付金额 */
    @Excel(name = "实付金额")
    private BigDecimal payAmount;

    /** 评价状态-是否评价(0是1否) */
    @Excel(name = "评价状态-是否评价(0是1否)")
    private Integer evaluateStatus;

    
    /** 退款状态-是否处理((0是1否) */
    @Excel(name = "退款状态(0是1否)")
    private Integer refundStatus;
    
    /** 租户ID */
    @Excel(name = "租户ID")
    private Long tenantId;
    

    public Long getItemId() {
		return itemId;
	}

	public void setItemId(Long itemId) {
		this.itemId = itemId;
	}

	public void setMemberId(Long memberId) 
    {
        this.memberId = memberId;
    }

    public Long getMemberId() 
    {
        return memberId;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }
    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }
    public void setGoodsPrice(BigDecimal goodsPrice) 
    {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPrice() 
    {
        return goodsPrice;
    }
    public void setGoodsType(Integer goodsType) 
    {
        this.goodsType = goodsType;
    }

    public Integer getGoodsType() 
    {
        return goodsType;
    }
    public void setGoodsCount(Integer goodsCount) 
    {
        this.goodsCount = goodsCount;
    }

    public Integer getGoodsCount() 
    {
        return goodsCount;
    }
    
    public BigDecimal getCostPrice() {
		return costPrice;
	}

	public void setCostPrice(BigDecimal costPrice) {
		this.costPrice = costPrice;
	}

	public void setSkuId(Long skuId) 
    {
        this.skuId = skuId;
    }

    public Long getSkuId() 
    {
        return skuId;
    }
    public void setSkuName(String skuName) 
    {
        this.skuName = skuName;
    }

    public String getSkuName() 
    {
        return skuName;
    }
    public void setImage(String image) 
    {
        this.image = image;
    }

    public String getImage() 
    {
        return image;
    }
    public void setMarketPrice(BigDecimal marketPrice) 
    {
        this.marketPrice = marketPrice;
    }

    public BigDecimal getMarketPrice() 
    {
        return marketPrice;
    }
   
    public Long getStoreId() {
		return storeId;
	}

	public void setStoreId(Long storeId) {
		this.storeId = storeId;
	}

	public BigDecimal getGoodsAmount() {
		return goodsAmount;
	}

	public void setGoodsAmount(BigDecimal goodsAmount) {
		this.goodsAmount = goodsAmount;
	}

	public String getSkuNo() {
		return skuNo;
	}

	public void setSkuNo(String skuNo) {
		this.skuNo = skuNo;
	}

	public BigDecimal getCostAmount() {
		return costAmount;
	}

	public void setCostAmount(BigDecimal costAmount) {
		this.costAmount = costAmount;
	}

	public BigDecimal getDeliveryAmount() {
		return deliveryAmount;
	}

	public void setDeliveryAmount(BigDecimal deliveryAmount) {
		this.deliveryAmount = deliveryAmount;
	}

	public BigDecimal getCouponAmount() {
		return couponAmount;
	}

	public void setCouponAmount(BigDecimal couponAmount) {
		this.couponAmount = couponAmount;
	}

	public BigDecimal getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}

	public BigDecimal getPayAmount() {
		return payAmount;
	}

	public void setPayAmount(BigDecimal payAmount) {
		this.payAmount = payAmount;
	}

	public Integer getEvaluateStatus() {
		return evaluateStatus;
	}

	public void setEvaluateStatus(Integer evaluateStatus) {
		this.evaluateStatus = evaluateStatus;
	}

	public Long getTenantId() {
		return tenantId;
	}

	public void setTenantId(Long tenantId) {
		this.tenantId = tenantId;
	}
	
	public String getGoodsTypeName() {
		return goodsTypeName;
	}

	public void setGoodsTypeName(String goodsTypeName) {
		this.goodsTypeName = goodsTypeName;
	}

	public Integer getRefundStatus() {
		return refundStatus;
	}

	public void setRefundStatus(Integer refundStatus) {
		this.refundStatus = refundStatus;
	}

	@Override
	public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("itemId", getItemId())
            .append("memberId", getMemberId())
            .append("orderId", getOrderId())
            .append("storeId", getStoreId())
            .append("goodsId", getGoodsId())
            .append("goodsName", getGoodsName())
            .append("goodsPrice", getGoodsPrice())
            .append("goodsType", getGoodsType())
            .append("goodsCount", getGoodsCount())
            .append("goodsAmount", getGoodsAmount())
            .append("skuId", getSkuId())
            .append("skuName", getSkuName())
            .append("skuNo", getSkuNo())
            .append("image", getImage())
            .append("marketPrice", getMarketPrice())
            .append("costPrice", getCostPrice())
            .append("costAmount", getCostAmount())
            .append("deliveryAmount", getDeliveryAmount())
            .append("couponAmount", getCouponAmount())
            .append("totalAmount", getTotalAmount())
            .append("payAmount", getPayAmount())
            .append("evaluateStatus", getEvaluateStatus())
            .append("refundStatus", getRefundStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("tenantId", getTenantId())
            .toString();
    }
}
